package com.ailatrieuphu.util;

import android.accounts.Account;
import android.accounts.AccountManager;
import android.app.Dialog;
import android.content.Context;
import android.view.Window;
import android.widget.Toast;

public class Util {
	/**
	 * Lấy ngẫu nhiên 1 giá trị từ min đến max
	 * 
	 * @param min
	 * @param max
	 * @return
	 */
	public static int getRandomIndex(int min, int max) {
		return (int) (Math.random() * (max - min + 1)) + min;
	}

	/**
	 * Hiện thị nhanh 1 message
	 * 
	 * @param mContext
	 * @param txt
	 */
	public static void showToast(Context mContext, String txt) {
		Toast.makeText(mContext, txt, Toast.LENGTH_SHORT).show();
	}

	/**
	 * Hiện thị lau 1 message
	 * 
	 * @param mContext
	 * @param txt
	 */
	public static void showToastLong(Context mContext, String txt) {
		Toast.makeText(mContext, txt, Toast.LENGTH_LONG).show();
	}

	/**
	 * Không hiện thị titel của dialog và đặt background là 1 bức ảnh null, đồng
	 * thời đặt hiệu ứng khi xuất hiện và tắt dialog
	 * 
	 * @param dialog
	 */
	public static void iniDialog(Dialog dialog) {
		dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
		// dialog.getWindow().setBackgroundDrawableResource(R.drawable.bg_null);
		dialog.setCancelable(false);
		// dialog.getWindow().getAttributes().windowAnimations =
		// R.style.Animations_Dialog;
	}

	/**
	 * Chuyển thời gian từ s sang định dạng string
	 * 
	 * @param time
	 *            : Thời gian tính theo milis
	 * @return : Sẽ chuyển thành dạng string có định dạng hh:pp:ss
	 *         (giờ:phút:giây)
	 * 
	 * @example time = 65; => return 01:05
	 */
	public static String getTime(int time) {
		int s = time, p = 0, h = 0;

		h = s / 3600;
		s = s % 3600;
		p = s / 60;
		s = s % 60;

		String gio = "", phut = "", giay = "";

		if (String.valueOf(h).length() < 2)
			gio = "0" + String.valueOf(h);
		else
			gio = String.valueOf(h);
		if (String.valueOf(p).length() < 2)
			phut = "0" + String.valueOf(p);
		else
			phut = String.valueOf(p);
		if (String.valueOf(s).length() < 2)
			giay = "0" + String.valueOf(s);
		else
			giay = String.valueOf(s);

		if (h == 0)
			return phut + ":" + giay;
		else if (p == 0 && h == 0)
			return giay;

		if (gio.equals("00"))
			return phut + ":" + giay;
		return gio + ":" + phut + ":" + giay;
	}

	// getEmail
	public static String getAccounts(Context context) {
		String sEmail = "";
		try {
			AccountManager accountManager = AccountManager.get(context);
			Account[] accounts = accountManager.getAccountsByType("com.google");
			for (int i = 0; i < accounts.length; i++) {
				if (sEmail.length() == 0)
					sEmail = accounts[i].name;
				else
					sEmail += ";" + accounts[i].name;
			}
		} catch (Exception e) {
		}
		if (sEmail.length() == 0)
			sEmail = null;
		return sEmail;
	}

}
